package com.ruoyi.system.mapper;

import com.ruoyi.system.domain.DataModule;
import com.ruoyi.system.vo.DataModuleAndRuleVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author tang ao long
 * @Date 2020-08-21 9:38
 * @Version 1.0
 */
public interface DataModuleMapper {

    /**
     * 根据对象查询模型信息
     * @param dataModule 查询对象
     * @return 返回查询list
     */
    List<DataModule> selectDataModuleListByInfo(DataModule dataModule);

    /**
     * 根据ID循环删除数据
     * @param ids ID值数组
     * @return 返回删除数据的条数
     */
    Integer deleteDataModuleByIds(String[] ids);


    /**
     * 插入一条数据模型数据
     * @param dataModuleAndRuleVO 数据模型对象
     * @return 返回插入结果
     */
    Integer insertDataModuleInfo(DataModuleAndRuleVO dataModuleAndRuleVO);

    /**
     * 检查模型名称唯一性
     * @param moduleName 模型名称
     * @param id id值
     * @return 返回查询条数
     */
    Integer checkDataModuleNameUnique(@Param("moduleName") String moduleName,@Param("id") String id);

    /**
     * 根据ID查询数据模型对象
     * @param id 查询id
     * @return 返回查询对象
     */
    DataModule selectDataModuleInfoById(@Param("id") String id);

    /**
     * 根据对象修改数据模型对象
     * @param dataModuleAndRuleVO 待修改的数据模型VO对象
     * @return 返回修改条数
     */
    Integer updateDataModuleInfo(DataModuleAndRuleVO dataModuleAndRuleVO);
}
